package alp.starcode.edms.dict.model.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 字典数据DTO
 *
 * @author Clxini
 * @since 2025-01-17
 */
@Data
@ApiModel(value = "DictDataDto", description = "字典数据DTO")
public class DictDataDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "字典数据ID")
    private String dictDataId;

    @ApiModelProperty(value = "字典类型ID", required = true)
    @NotBlank(message = "字典类型ID不能为空")
    private String dictTypeId;

    @ApiModelProperty(value = "字典数据名称", required = true)
    @NotBlank(message = "字典数据名称不能为空")
    @Size(max = 100, message = "字典数据名称长度不能超过100个字符")
    private String dictDataName;

    @ApiModelProperty(value = "字典数据编码", required = true)
    @NotBlank(message = "字典数据编码不能为空")
    @Size(max = 50, message = "字典数据编码长度不能超过50个字符")
    private String dictDataCode;

    @ApiModelProperty(value = "字典数据值", required = true)
    @NotBlank(message = "字典数据值不能为空")
    @Size(max = 200, message = "字典数据值长度不能超过200个字符")
    private String dictDataValue;

    @ApiModelProperty(value = "排序")
    @NotNull(message = "排序不能为空")
    private Integer sort;

    @ApiModelProperty(value = "备注")
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
} 